package com.example.designpattern;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView ivBitmap = findViewById(R.id.iv_bitmap);

        String imageUrl = "http://img.howjia.com/data/howjia2017/upload/images/2020-12/5fe5b1e89292b.jpg";
//        imageLoader.displayImage(imageUrl,ivBitmap);


        //用户可以通过ImageLoader类的setImageCache()方法，实现依赖注入。
        //想用哪种缓存方式就set哪种缓存方式

        //内存缓存
//        imageLoader.setImageCache(new MemoryCache());
        //SD卡缓存
//        imageLoader.setImageCache(new DiskCache());


        //使用自定义图片缓存
//        imageLoader.setImageCache(new ImageCache() {
//            @Override
//            public Bitmap get(String url) {
//                //从缓存中获取图片
//                return null;
//            }
//
//            @Override
//            public void put(String url, Bitmap bitmap) {
//                //缓存图片
//            }
//        });

        //使用双缓存策略
//        imageLoader.setImageCache(new DoubleCache());


//        imageLoader.setmLoadingImage(R.mipmap.loading);
//        imageLoader.setmLoadingFailedImage(R.mipmap.fail);
//        imageLoader.setThreadCount(4);
//        imageLoader.setmLoaderPolicy(new LoaderPolicy());



        ImageLoderConfig config = new ImageLoderConfig.Builder()
                .setLoadingPlaceHolder(R.mipmap.loading)
                .setNotFoundPlaceHolder(R.mipmap.fail)
                .setCache(new DoubleCache())
                .setThreadCount(4)
                .setLoadPolicy(new LoaderPolicy())
                .create();


        //将配置初始化到ImageLoader中
        ImageLoader imageLoader  = ImageLoader.getInstance();
        imageLoader.init(config);





        imageLoader.displayImage(imageUrl,ivBitmap);
    }
}